仕事でサーバを運用していると某国からのアタックがそこそこ多いのだけど、出来れば早急にブロックしてしまいたかったので IP アドレスから whois を引いて CIDR 形式で表示出来るツールを作った。昔はこういうの Perl で書いた気がする。
GitHub - mattn/iputil
https://github.com/mattn/iputil
ライブラリとして作ったけど、コマンドも用意してあります。
$ go get github.com/mattn/iputil/cmd/iprange
実行結果のイメージはこんな感じ。
$ iprange [IPアドレス]
XXX.XXX.XXX.XXX/16
YYY.YY.YYY.YY/16
...
あとはこの結果を使って ufw (Universal FireWall) を使っているのであれば
$ iprange [ヤバいIPアドレス] | xargs -n 1 sudo ufw insert 1 deny from
とかすれば一発でアクセス元をブロック出来る。(はず)
みんなのGo言語[現場で使える実践テクニック]
松木雅幸, mattn, 藤原俊一郎, 中島大一, 牧大輔, 鈴木健太
技術評論社 Kindle版 / ¥2,178 (2016年09月09日)
発送可能時間:
松木雅幸, mattn, 藤原俊一郎, 中島大一, 牧大輔, 鈴木健太
技術評論社 Kindle版 / ¥2,178 (2016年09月09日)
発送可能時間: